The present application relates generally to an improved data processing apparatus and method and more specifically to an apparatus and method for generating documentation roadmaps and facilitating community networking for developers, particularly new developers, on large software projects.
Software projects, large and small alike, undergo many revisions. A software release is the distribution, whether public or private, of an initial or new and upgraded version of a computer software product. Each time a software program or system is changed, the software engineers and company doing the work decide on how to distribute the program or system, or changes to that program or system. Software patches are one method of distributing the changes, as are downloads and compact discs.
A software release life cycle is composed of different stages that describe the stability of a piece of software and the amount of development it requires before final release. Each major version of a product usually goes through a stage when new features are added, or the alpha stage; a stage when it is being actively debugged, or the beta stage; and finally a stage when all important bugs have been removed, or the stable stage. A software project may also have one or more intermediate stages.
Source control or source code management (SCM), also referred to as revision control, manages multiple revisions of the same unit of information. SCM is most commonly used in engineering and software development to manage ongoing development of digital documents like application source code, art resources such as blueprints or electronic models, and other projects that may be worked on by a team of people. Changes to these documents are usually identified by incrementing an associated number or letter code, termed the “revision number,” “revision level,” or simply “revision,” and associated historically with the person making the change.
Version control systems are most commonly stand-alone applications, and software tools for revision control are increasingly recognized as being necessary for the organization of multi-developer projects. When a version is submitted to a version control system, this is typically referred to as a “commit.” A version control system typically attaches a small amount of metadata to a version at the time of the commit. Metadata is “data about data,” and in this instance, the metadata may identify, for example, the person submitting the version, bugs that were fixed, features that were added, and so on.